
//2105.给植物浇水||
class Solution {
public:
    int minimumRefill(vector<int>& plants, int capacityA, int capacityB) {
        //依旧是使用相向双指针进行实现
        int n=plants.size();
        int left=0,right=n-1;
        int ret=0;
        int ahave=capacityA,bhave=capacityB;
        while(left<right)
        {
            if(ahave<plants[left]) //A浇水
            {
                ahave=capacityA;
                ret++;
            }
            ahave-=plants[left++];
            if(bhave<plants[right]) //B浇水
            {
                bhave=capacityB;
                ret++;
            }
            bhave-=plants[right--];
        }
        if(n%2==1&&max(ahave,bhave)<plants[left]) ret++;  //对于奇数个植物需要对相交位置进行判断
        return ret; 
    }
};